package login_mod

import (
	"clientDemo/service/common"
	"clientDemo/service/config_mod"
	"clientDemo/service/modulemgr"
	"fmt"
)

type LoginModule struct {
	Username     string
	Password     string
	IsLogin      bool
	CheckingTime int64 //登录请求次数
	LoginConfig  *common.Configure

	configModule config_mod.IConfigModule
}

func NewLoginModule() *LoginModule {
	tmp := &LoginModule{}
	return tmp
}

func (m *LoginModule) Init(mm modulemgr.IModuleManager) (bool, error) {
	var ok bool
	m.configModule, ok = mm.GetModule(config_mod.Name).(config_mod.IConfigModule)
	if !ok {
		return false, fmt.Errorf("failed to assert module to IConfigModule")
	}
	return true, nil
}
func (m *LoginModule) Run(mm modulemgr.IModuleManager) (bool, error) {
	return false, nil
}
func (m *LoginModule) SaveLoginStatus() {
	m.configModule.SaveLoginStatus()
}

func (m *LoginModule) CheckLoginStatus() bool {
	return m.configModule.CheckLoginStatus()
}

func (m *LoginModule) LoginService(username string, password string) bool {
	return m.configModule.LoginService(username, password)
}
